//! 缠中说禅技术分析工具 - Rust版本
//! 
//! 这是一个基于缠中说禅理论的技术分析工具库，提供K线数据处理、笔和分型识别、
//! 中枢分析、信号生成等功能。

// pub mod analyze;  // 暂时注释掉，有编译问题
// pub mod connectors;  // 暂时注释掉，有编译问题
// pub mod features;  // 暂时注释掉，有编译问题
// pub mod fsa;  // 暂时注释掉，有编译问题
pub mod objects;
pub mod signals;
pub mod traders;
pub mod utils;
pub mod strategies;
// pub mod eda;  // 暂时注释掉，有编译问题
// pub mod sensors;  // 暂时注释掉，有编译问题
pub mod mock;
// pub mod aphorism;  // 暂时注释掉，有编译问题
// pub mod svc;  // 暂时注释掉，有编译问题

// 重新导出主要类型
pub use objects::{
    bar::{RawBar, NewBar},
    bi::BI,
    enums::{Direction, Freq, Mark, Operate},
    signal::Signal,
    zs::ZS,
};

// 暂时注释掉有问题的导入
// pub use utils::bar_generator::BarGenerator;
// pub use utils::data_client::DataClient;
pub use strategies::{CzscStrategyBase, Position, CzscJsonStrategy};
// pub use eda::{DataFrame, vwap, twap, monotonicity, min_max_limit};
// pub use utils::plotly_plot::{KlineChart, Graph, create_kline_chart, plot_kline_data};
// pub use sensors::event::{Event, EventType, EventLevel, EventHandler, EventManager, PriceBreakDetector};
// pub use sensors::cta::CtaSensor;
// pub use sensors::feature::{Feature, FeatureType, FeatureExtractor, PriceFeatureExtractor, VolumeFeatureExtractor, FeatureManager};
// pub use sensors::utils::SensorUtils;
pub use mock::{generate_symbol_kines, generate_klines, generate_strategy_returns};
pub use traders::CzscTrader;
// pub use aphorism::{get_random_text, get_text, get_all_texts, print_one};

// 版本信息
pub const VERSION: &str = "0.1.0";
pub const AUTHOR: &str = "zengbin93";
pub const EMAIL: &str = "zeng_bin8888@163.com";
pub const DATE: &str = "20250124";

/// 欢迎信息
pub fn welcome() {
    println!("欢迎使用CZSC Rust版本！当前版本标识为 {}@{}\n", VERSION, DATE);
    println!("CZSC Rust版本环境变量：czsc_min_bi_len = 5; czsc_max_bi_num = 8;");
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_version_info() {
        assert!(!VERSION.is_empty());
        assert!(!AUTHOR.is_empty());
        assert!(!DATE.is_empty());
    }
} 